package javaCode.chapter06;

public class object01 {

    public static void main(String[] args) {

        /*
        张老太养了两只猫猫: 一只名字叫小白，今年3岁，白色。
        还是一只叫小花，今年100岁，花色。请编写一个程序，当用户输入小猫的名字时，
        就显示该猫的名字，年龄，颜色。如果用户输入的小猫名错误，
        则显示 张老太没有这只猫猫。
         */

        //单独变量来解决
        //第一只猫信息  => 不利于数据的管理(你把一只猫的信息拆解)
        String cat1Name = "小白";
        int cat1Age = 3;
        String cat1Color = "白色";

        //第2只猫信息
        String cat2Name = "小花";
        int cat2Age = 100;
        String cat2Color = "花色";

        //数组 ===> (1) 数据类型体现不出来  (2) 只能通过[下标]获取信息，造成变量名字和内容
        //          的对应关系不明确   (3) 不能体现猫的行为
        //猫的信息
        String[] cat1 = {"小白", "3", "白色"};
        String[] cat2 = {"小花", "100", "花色"};


        //使用OOP面向对象解决
        //实例化一只猫[创建一只猫对象]
        //1. new Cat() 创建一只猫
        //2. Cat cat1 = new Cat(); 把创建的猫赋给 cat1
        //3. cat1 就是一个对象
        Cat catOne = new Cat();
        catOne.name = "小白";
        catOne.age = 3;
        catOne.color = "白色";

        //创建了第二只猫，并赋给  cat2
        //cat2 也是一个对象(猫对象)
        Cat catTwo = new Cat();
        catTwo.name = "小花";
        catTwo.age = 100;
        catTwo.color = "花色";

        //怎么访问对象的属性呢
        System.out.println("第一只猫信息 "+catOne.name+" "+
                catOne.age+" "+catOne.color);

        System.out.println("第二只猫信息 "+catTwo.name+" "+
                catTwo.age+" "+catTwo.color);

    }
}


//使用面向对象的方式来解决养猫问题
//
//定义一个猫类 Cat -> 自定义的数据类型
class Cat {
    //属性
    String name; //名字
    int age; //年龄
    String color; //颜色

    //行为

}
